package OptimalAlgorithm.PrefixSum;

import java.util.Scanner;

public class Two_dimensional_PrefixSum_Template {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            int m = in.nextInt();
            int q = in.nextInt();
            int[][] a = new int[n + 1][m + 1];
            long[][] dp = new long[n + 1][m + 1];
            for (int i = 1; i < n + 1; i++) {
                for (int j = 1; j < m + 1; j++) {
                    a[i][j] = in.nextInt();
                    dp[i][j] = dp[i][j - 1] + dp[i - 1][j] -dp[i - 1][j - 1] + a[i][j];
                }
            }
            for (int i = 0; i < q; i++) {
                int x1= in.nextInt();
                int y1= in.nextInt();
                int x2= in.nextInt();
                int y2= in.nextInt();
                long sum = dp[x2][y2] - dp[x2][y1 - 1] - dp[x1 - 1][y2] + dp[x1 - 1][y1 - 1];
                System.out.println(sum);
            }
        }
    }
}
